﻿using System.Windows;
using ControleRepresentanteSync.Application.DynamicSync;
using ControleRepresentanteSync.View.Wizard;

namespace ControleRepresentanteSync.View.DynamicSync
{
    public abstract class DynamicSyncViewModel<TContentViewModel, TListViewModel> : WizardPageViewModelBase, IDynamicSyncViewModel<TContentViewModel, TListViewModel>
        where TContentViewModel : IDynamicSyncContentViewModel 
        where TListViewModel : IDynamicSyncListViewModel<TContentViewModel>
    {
        public static readonly DependencyProperty ContentListProperty =
            DependencyProperty.Register("ContentList", typeof(TListViewModel), typeof(DynamicSyncViewModel<TContentViewModel, TListViewModel>));

        protected DynamicSyncViewModel() 
            : base(null, null)
        {
        }

        public TListViewModel ContentList
        {
            get { return (TListViewModel) GetValue(ContentListProperty); }
            set { SetValue(ContentListProperty, value); }
        }
    }
}